1. Statement of the Technical Field
The present invention relates to the field of autonomic computing and more particularly to policy based autonomic management of a system.
2. Description of the Related Art
The task of modern systems administration differs significantly from that of days gone by. Not just a decade ago, systems administration primarily entailed the addition and deletion of users within the system, the management of print queues, disk maintenance, and the supervision and operation of daily backup procedures. Most if not all resources required by applications remained present in a single network, and few if any applications depended upon the operation of other, co-executing applications. In fact, the notion of an enterprise application, as compared to a mere network application remained largely within the realm of academia as a decade ago, the enabling technologies had not advanced enough in terms of speed and reliability to facilitate true enterprise computing.
Much has changed since the early days of network computing. Today, enterprise computing permeates the electronic landscape. While some enterprise applications remain largely stand-alone, most rely in some respect on a co-existing enterprise application or a soft enterprise resource, such as a database application, Web application server, or other cooperating component. Thus, systems administration has advanced far beyond user and print queue administration and daily backup routines. Today, the interdependencies among system components present a significant challenge to the administrator. In this regard, the management of a single component in the system can depend upon the state of a multiplicity of other components. Thus, in administering the system, a seemingly endless array of administrative choices abound.
The task of systems administration recently has grown to include policy based management principles. Policy based management principles initially included rules for authentication only. Specifically, the rules specified which users defined within the system were permitted to perform which administrative tasks upon which components. Typically, the authority to perform such administrative tasks represents the sole type of rule managed by policy within the enterprise. Yet, more recent policy based management principles relate more specifically to the automated monitoring and maintenance of the system. In particular, policy based management has formed the cornerstone of “autonomic” systems administration.
In the famed manifesto, Autonomic Computing: IBM's Perspective on the State of Information Technology, Paul Horn, Senior Vice President of IBM Research, observed, “It's not about keeping pace with Moore's Law, but rather dealing with the consequences of its decades-long reign.” Given this observation, Horn suggested a computing parallel to the autonomic nervous system of the biological sciences. Namely, whereas the autonomic nervous system of a human being monitors, regulates, repairs and responds to changing conditions without any conscious effort on the part of the human being, in an autonomic computing system, the system must self-regulate, self-repair and respond to changing conditions, without requiring any conscious effort on the part of the computing system operator.
Thus, while the autonomic nervous system can relieve the human being from the burden of coping with complexity, so too can an autonomic computing system. Rather, the computing system itself can bear the responsibility of coping with its own complexity. The crux of the IBM manifesto relates to eight principal characteristics of an autonomic computing system:                I. The system must “know itself” and include those system components which also possess a system identify.        II. The system must be able to configure and reconfigure itself under varying and unpredictable conditions.        III. The system must never settle for the status quo and the system must always look for ways to optimize its workings.        IV. The system must be self-healing and capable of recovering from routine and extraordinary events that might cause some of its parts to malfunction.        V. The system must be an expert in self-protection.        VI. The system must know its environment and the context surrounding its activity, and act accordingly.        VII. The system must adhere to open standards.        VIII. The system must anticipate the optimized resources needed while keeping its complexity hidden from the user.        
Importantly, in accordance with the eight tenants of autonomic computing, several single system and peer-to-peer systems have been proposed in which self-configuration, management and healing have provided a foundation for autonomic operation. Self-managing systems which comport with the principles of autonomic computing reduce the cost of owning and operating computing systems. Yet, implementing a purely autonomic system has proven revolutionary. Rather, as best expressed in the IBM Corporation white paper, Autonomic Computing Concepts (IBM Corporation 2001)(hereinafter, the “IBM White Paper”), “Delivering system-wide autonomic environments is an evolutionary process enabled by technology, but it is ultimately implemented by each enterprise through the adoption of these technologies and supporting processes.”
In the IBM White Paper, five levels have been logically identified for the path to autonomic computing. These five levels range from the most basic, manual process to the most purely autonomic. The Basic Level of autonomic computing represents a starting point of information technology environments. Each infrastructure element can be managed independently by an administrator who can establish, configure, monitor and ultimately replace the element. At the Managed Level of autonomic computing, systems management technologies can be used to collect information from disparate systems onto fewer consoles, reducing the time consumed for the administrator to collect and synthesize information as the environment becomes more complex.
Notably, the Predictive Level incorporates new technologies to provide a correlation among several infrastructure elements. These infrastructure elements can begin to recognize patterns, predict the optimal configuration of the system, and provide advice as to the nature of the course of action which the administrator ought to take. By comparison, at the Adaptive Level the system itself can automatically perform appropriate actions responsive to the information collected by the system and the knowledge of the state of the system. Finally, at the Autonomic Level the entire information technology infrastructure operation is governed by business policies and objectives. Users interact with the autonomic technology only to monitor the business processes, alter the objects, or both.
In the Predictive Level of autonomic systems administration, a system administration component can monitor the courses of action performed by a systems administrator in response to specific stimuli. Based upon the courses of action performed by the systems administrator, the system administration component can formulate a policy for autonomically responding to the same stimuli when in an Adaptive or Autonomic mode. The assumption that the systems administrator has performed appropriately responsive to the stimuli, however, may not always be a correct assumption. In many cases, the systems administrator lacks the experience to select the most optimal course of action. Moreover, in many cases, the systems administrator ought to consult with a more knowledgeable administrator in regard to the specific stimuli. Yet, often consultations are the exception rather than the rule. Thus, in the quest for more automation for efficiency, efficiency can be lost due to improper human decision making.